Skip to content

Conversation

@rtriozzi
Copy link

@rtriozzi rtriozzi commented Nov 14, 2025

This PR integrates additional NuGraph2 modules in ICARUS, including some that were already introduced in Giuseppe's icaruscode PR #815, on which this PR is based, as well as new modules designed to:

  • run NuGraph2 on multiple slices (e.g., those that are tagged as not-clear-cosmic by Pandora), based on work by summer intern Leonardo Lena;
  • filter hits from Pandora slices based on the NuGraph2 "filter" score.

Along with the modules, a set of FHiCL files is provided. They are all based on the standard v10_06_00_01p01 configurations. Following the review of this PR, similar FHiCL files based on develop will be provided.

More information on NuGraph2 and its applications can be found in SBN DocDB #40585, #44208, Indico.

A companion PR to sbncode is available for dealing with CAF-making after the NG2 filter module (sbncode PR #616).


Associated PRs


Review

Tagging for review @acampani and @PetrilloAtWork as reconstruction and infrastructure experts. Thanks a lot!

@rtriozzi rtriozzi added the enhancement New feature or request label Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose this executable and the other one to run on grid are meant to setup tritonserver on the grid/interactively respectibely, but I wanted to understand better what's the scope of both scripts and perhaps I'd recommend adding a short description to both in case people want to use them.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was actually introduced in the previous PR. These scripts are still under development so it's a bit premature to document them, but if needed we can add a brief description of the intended usage (but maybe not necessarily for this PR as it does not make any change to the scripts?).

Copy link

@acampani acampani Dec 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps I'll clarify this on my own after checking the rest of the code, but I wanted to make sure what some of the labels refer to:
nuslhitsCryoE/W are the hits before nu-graph filtering
NuGraphCryoE/W I guess is a "global object/container" for all nu-graph related reconstruction
NCCSlicesCryoE/W is the "not clear cosmic" single slice considered as the neutrino candidate slice based on the trigger/optical flash
NGMultiSliceCryoE/W corresponds to nu-graph being applied to all non clear cosmic slices in a certain event
ngfilteredhitsCryoE/W corresponds to post-nu-graph-filtering hits
is this interpretation correct?
Perhaps, especially as far as NCCSlicesCryoE/W and NGMultiSliceCryoE/W are concerned at least, I'd add a comment to clarify/specify some details in the fhicl.

Copy link
Author

@rtriozzi rtriozzi Jan 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The proposed chain uses:

  • NCCSlicesCryoW/E: a collection of slices that are not tagged as clear cosmic by Pandora;
  • NGMultiSliceCryoW/E: this runs NuGraph2 on multiple slices (here, the ones from NCCSlicesCryoW/E) and provides objects and associations with NuGraph2 predictions;
  • ngfilteredhitsCryoW/E: this filters the hits in each slice using the NuGraph2 filter score, and creates a new hit collection we then run Pandora over (the second-pass Pandora).

Thanks, we will add some comments and perhaps get rid of labels that we do not use anymore (nuslhitsCryoE/W and NuGraphCryoE/W were used to select the "triggering" slice and run NuGraph2 on a single slice).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you clarify how these two fhicl parameters set to false change the settings in pandora?

Copy link
Author

@rtriozzi rtriozzi Jan 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The bottom line is that, once PandoraPFA/larpandora PR #35 and PandoraPFA/LArContent PR #256 are merged in Pandora/LArSoft, there will be two fcl parameters (CollectHitPredictions and UseHitPredictions) to collect the information from NuGraph2 and inject it into Pandora.

More specifically, we added a new interface in Pandora (larpandora) to collect the hit-by-hit predictions from NuGraph2 at the second Pandora stage, after NuGraph2 was ran, and inject them into the hit object within Pandora (specifically, a LArCaloHit).
CollectHitPredictions steers whether we expect NuGraph2 information from the input we give to Pandora, and UseHitPredictions adds the information to the LArCaloHit.
This operation just adds more information that can be used in Pandora, but does not change the reconstruction (for that, we would need to actually use the information in any algorithm, and change the relevant XML).

I kept the parameters around just to remind us that there is this option, but they are commented out right now since the Pandora PRs are not yet merged. Specifically, false means that we do not inject the NuGraph2 information into Pandora (even if available): this can and will be changed once everything is ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants